<?php
include_once("./service/ConnectionManager.php");
//$time_now = time();    // lưu thời gian hiện tại
$time_out = 60; // khoảng thời gian chờ để tính một kết nối mới (tính bằng giây)
$ip_address = $_SERVER['REMOTE_ADDR'];    // lưu lại IP của kết nối

function getNumRow($query){
    ConnectionManager::getInstance()->setQuery($query);
    $result = ConnectionManager::getInstance()->query();
    return mysql_num_rows($result);
}

// kiểm tra xem thời gian hiện tại so với lần truy cập cuối có lớn hơn khoảng thời gian chờ không
    //- nếu không thì thôi
    //- nếu có thì thêm vào như là một kết nối mới
$query = "";
$query = "SELECT IP_ADDRESS FROM MITI_COUNTER WHERE UNIX_TIMESTAMP(LAST_VISIT) + $time_out > UNIX_TIMESTAMP(NOW()) AND IP_ADDRESS = '$ip_address'";

if (!getNumRow($query) > 0){
    ConnectionManager::getInstance()->setQuery("INSERT INTO MITI_COUNTER VALUES ('$ip_address', NOW())");
    ConnectionManager::getInstance()->query();
}

$total = getNumRow("SELECT IP_ADDRESS FROM MITI_COUNTER");

// đếm số người đang online
$online = getNumRow("SELECT IP_ADDRESS FROM MITI_COUNTER WHERE UNIX_TIMESTAMP(LAST_VISIT) + $time_out > UNIX_TIMESTAMP(NOW())");


// đếm số người ghé thăm trong ngày (từ 0h ngày hôm đó đến thời điểm hiện tại)
$day = getNumRow("SELECT IP_ADDRESS FROM MITI_COUNTER WHERE DAYOFYEAR(LAST_VISIT) = " . (date('z') + 1) . " AND YEAR(LAST_VISIT) = " . date('Y'));


// đếm số người ghé thăm trong tuần (từ 0h ngày thứ 2 đến thời điểm hiện tại)
$week = getNumRow("SELECT IP_ADDRESS FROM MITI_COUNTER WHERE WEEKOFYEAR(LAST_VISIT) = " . date('W') . " AND YEAR(LAST_VISIT) = " . date('Y'));


// đếm số người ghé thăm trong tháng
$month = getNumRow("SELECT IP_ADDRESS FROM MITI_COUNTER WHERE MONTH(LAST_VISIT) = " . date('n') . " AND YEAR(LAST_VISIT) = " . date('Y'));


// đếm số người ghé thăm trong năm
$year = getNumRow("SELECT IP_ADDRESS FROM MITI_COUNTER WHERE YEAR(LAST_VISIT) = " . date('Y'));


// đếm tổng số người đã ghé thăm
$visit = getNumRow("SELECT IP_ADDRESS FROM MITI_COUNTER");
?> 
<span>Tổng số: <?php echo number_format($total + (5870000)); ?></span>
<ul>
	<li><div>Trực tuyến</div><div>:</div><div><?php echo number_format($online + (5870000)); ?></div></li>
	<li><div>Trong ngày</div><div>:</div><div><?php echo number_format($day + (5870000)); ?></div></li>
	<li><div>Trong tuần</div><div>:</div><div><?php echo number_format($week + (5870000)); ?></div></li>
	<li><div>Trong tháng</div><div>:</div><div><?php echo number_format($month + (5870000)); ?></div></li>
	<li><div>Trong năm</div><div>:</div><div><?php echo number_format($year + (5870000)); ?></div></li>
</ul>